package 课程设计报告_hb_7_5;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Arrays;

import org.junit.Test;

/**
 * @author Jiang Zhiyan
 *
 * 2021年7月5日 上午9:21:27
 *
 */
public class TestFile {
       @Test
       public void getFileInfo() {
//    	   当前目录：Java默认将当前工程中的目录作为当前目录
    	   File file = new File(".");  
    	   String path = file.getPath();
    	   System.out.println(path);  //.
    	   
//    	   getAbsolutePath获得绝对路径
    	   String absolutePath = file.getAbsolutePath();
    	   System.out.println(absolutePath);   //D:\Eclipse\Javacode\Eclipse_WORKPLACE\课程设计报告\.
    	   
    	   File newfile  = new File("./demo");  //创建目录时要用/而新创建出来的对象是\表示，这是为了避免与Java中的\b、\t相矛盾
    	   System.out.println(newfile.getAbsolutePath());  //D:\Eclipse\Javacode\Eclipse_WORKPLACE\课程设计报告\.\demo
//    	    判断newfile在磁盘中是否存在
    	   System.out.println(newfile.exists());    //false
    	   if(!newfile.exists()) {
//    		   不存在则创建
    		   newfile.mkdir();  //创建该目录
    	   }
//    	   newfile.mkdir();  
       }
       
       @Test
       public void createFile() throws IOException {
    	   File d1= new File("./demo/demo01.txt");
//    	   如果当前文件不存在则创建新文件，否则不创建
    	   d1.createNewFile();  
//    	   File.createTempFile("demo",".txt",new File ("./demo"));
       }
       @Test
       public void deleteDir() throws Exception{
//    	   File d1 = new File("./demo/a/a01");
//    	   d1.delete();
//    	   delete只能直接删除空目录
    	   File d1 = new File("./b/b01.txt");
    	   d1.delete();
       }
       
       @Test
       public void deleteFile() throws Exception {
    	   File d1 = new File("./demo/demo01.txt");
    	   d1.delete();
       }
       
       /**
        * 1、将demo01.txt修改名称为d01.txt
        * 
        * 2、在demo目录中创建b目录，在b目录中创建b01.txt和b01.json两个文件
        */
       
       @Test
       public void reNameFile() {
    	    File file = new File("./demo/demo01.txt");
    	    File newfile = new File("./demo/d01.txt");
    	    file.renameTo(newfile);
       }
       @Test
       public void createDir() throws IOException {
    	   File file = new  File("./demo/b");
    	   file.mkdir();
    	   File file1 = new File("./demo/b/b01.txt");
    	   file1.createNewFile();
    	   File file2 = new File("./demo/b/b01.json");
    	   file2.createNewFile();
       }
       @Test
       public void listFiles2() {
    	   File demo = new File("./demo");
    	   File [] files = demo.listFiles(new FileFilter() {
    		   @Override
    		   public boolean accept(File f) {
    			   return f.isFile();
    		   }
    	   });
    	   System.out.println(Arrays.toString(files));
       }
}
